#ifndef MODEL_TYPE_H
#define MODEL_TYPE_H

/*自定义算法模块头文件	UserDefined_Model*/
#include "USERDEF/USERDEF.h"

/*信号源模块头文件		SignalSource_Model*/
#include "SignalSource_Model/STEP/STEP.h"				//< 阶跃信号模块
#include "SignalSource_Model/RAMP/RAMP.h"				//< 斜坡信号模块
#include "SignalSource_Model/SINSOURCE/SINSOURCE.h"		//< 正弦信号模块
#include "SignalSource_Model/SQUA/SQUA.h"				//< 方波信号模块
#include "SignalSource_Model/SAW/SAW.h"					//< 锯齿波信号模块
#include "SignalSource_Model/BROK/BROK.h"				//< 折线信号模块
#include "SignalSource_Model/MSQUA/MSQUA.h"				//< 多段方波信号模块
#include "SignalSource_Model/RAND/RAND.h"				//< 随机信号模块
#include "SignalSource_Model/PRBS/PRBS.h"				//< 伪随机序列信号模块（TOP_calcute新增）
#include "SignalSource_Model/FIXPULSE/FIXPULSE.h"	    //< 固定脉冲信号模块（控软新增）
#include "SignalSource_Model/SETSTEP/SETSTEP.h"         //< 设定值阶跃扰动模块（控软新增）

/*数学运算模块头文件	Math_Model*/
#include "Math_Model/ADD/ADD.h"				//< 加法运算模块
#include "Math_Model/SUB/SUB.h"				//< 减法运算模块
#include "Math_Model/MUL/MUL.h"				//< 乘法运算模块
#include "Math_Model/DIV/DIV.h"				//< 除法运算模块
#include "Math_Model/SQUAROOT/SQUAROOT.h"	//< 平方根运算模块
#include "Math_Model/ABS/ABS.h"				//< 绝对值运算模块
#include "Math_Model/EXP/EXP.h"				//< 指数运算模块
#include "Math_Model/POW/POW.h"				//< 幂函数运算模块
#include "Math_Model/LOG/LOG.h"				//< 对数运算模块
#include "Math_Model/SIN/SIN.h"				//< 三角函数运算模块
#include "Math_Model/ASIN/ASIN.h"			//< 反三角函数运算模块
#include "Math_Model/MATHS/MATHS.h"			//< 多项式运算模块
#include "Math_Model/ENTHALPY/ENTHALPY.h"	//< 焓值计算模块（控软新增）
#include "Math_Model/TS/TS.h"               //< 调整时间Ts指标计算模块（TOP_calcute新增）
#include "Math_Model/ATTRATE/ATTRATE.h"     //< 衰减率指标计算模块（TOP_calcute新增）

/*输入输出模块头文件	IO_Model*/
#include "IO_Model/AI/AI.h"					//< 模拟量输入模块
#include "IO_Model/AO/AO.h"					//< 模拟量输出模块
#include "IO_Model/DI/DI.h"					//< 开关量输入模块
#include "IO_Model/DO/DO.h"					//< 开关量输出模块
#include "IO_Model/NETAI/NETAI.h"			//< 站间通讯模拟量输入模块
#include "IO_Model/NETAO/NETAO.h"			//< 站间通讯模拟量输出模块
#include "IO_Model/NETDI/NETDI.h"			//< 站间通讯数字量输入模块
#include "IO_Model/NETDO/NETDO.h"			//< 站间通讯数字量输出模块
#include "IO_Model/AIGETFILE/AIGetFile.h"	//< 数据采集模块
#include "IO_Model/FW/FW.h"					//< 文件写入数据模块
#include "IO_Model/FR/FR.h"					//< 文件读取数据模块

/*逻辑运算模块头文件	Logic_Model*/
#include "Logic_Model/AND/AND.h"			//< 逻辑“与”模块
#include "Logic_Model/OR/OR.h"				//< 逻辑“或”模块
#include "Logic_Model/NOT/NOT.h"			//< 逻辑“非”模块
#include "Logic_Model/XOR/XOR.h"			//< 逻辑“异或”模块
#include "Logic_Model/SIGN/SIGN.h"			//< 符号判断模块
#include "Logic_Model/RSTRIG/RSTRIG.h"		//< RS触发器模块
#include "Logic_Model/DTRIG/DTRIG.h"		//< D触发器模块
#include "Logic_Model/COUNT/COUNT.h"		//< 计数器模块
#include "Logic_Model/COMPA/COMPA.h"		//< 比较器模块
#include "Logic_Model/ALM/ALM.h"			//< 偏差报警模块
#include "Logic_Model/IN16OUT1/IN16OUT1.h"	//< 16-1模块
#include "Logic_Model/IN1OUT16/IN1OUT16.h"	//< 1-16模块
#include "Logic_Model/DTOA/DTOA.h"			//< 数字量to模拟量模块（控软新增）
#include "Logic_Model/CONJUDE/CONJUDE.h"    //< 控制性能综合判断模块（TOP_calcute新增）
#include "Logic_Model/IN1OUT32/IN1OUT32.h"	//< 1-32模块

/*选择模块头文件		Choice_Model*/
#include "Choice_Model/AISEL/AISEL.h"		//< 模拟量输入选择模块
#include "Choice_Model/AOSEL/AOSEL.h"		//< 模拟量输出选择模块
#include "Choice_Model/DISEL/DISEL.h"		//< 数字量输入选择模块
#include "Choice_Model/DOSEL/DOSEL.h"		//< 数字量输出选择模块
#include "Choice_Model/MIDSEL/MIDSEL.h"		//< 中间值选择模块
#include "Choice_Model/MAXSEL/MAXSEL.h"		//< 最大值选择模块
#include "Choice_Model/MINSEL/MINSEL.h"		//< 最小值选择模块
#include "Choice_Model/DG2OF3/DG2OF3.h"		//< 数字信号3选2模块

/*控制算法模块头文件	Control_Model*/
#include "Control_Model/PID/PID.h"			//< PID控制模块
#include "Control_Model/AMANSTA/AManSta.h"	//< 模拟手动站模块
#include "Control_Model/DMS/DManSta.h"		//< 数字手动站模块
#include "Control_Model/ASET/ASET.h"		//< 模拟量给定值发生器模块
#include "Control_Model/DSET/DSET.h"		//< 数字量给定值发生器模块
#include "Control_Model/LeadLag/LeadLag.h"	//< 超前滞后模块
#include "Control_Model/STEPCONT/StepCont.h"//< 步序控制模块
#include "Control_Model/IN8BALA/In8Bala.h"	//< 8输入平衡模块
#include "Control_Model/IN2BALA/In2Bala.h"	//< 2输入平衡模块
#include "Control_Model/Trans2/Trans2.h"	//< 两变送器整合模块
#include "Control_Model/Trans3/Trans3.h"	//< 三变送器整合模块
#include "Control_Model/DEVICE/Device.h"	//< 设备驱动模块
#include "Control_Model/STIMUSIGCON/StimuSigCon.h"	//< 激励信号启停模块（TOP_calcute新增）
#include "Control_Model/DMC/DMC.h"					//< DMC（动态矩阵控制）模块（TOP_calcute新增） 
#include "Control_Model/DstrbOn/DstrbOn.h"  //< 扰动启动模块（TOP_calcute新增）
#include "Control_Model/FFDMC/FFDMC.h"		//< FFDMC（动态矩阵控制）模块（TOP_calcute新增）

/*时间算法模块头文件	Time_Model*/
#include "Time_Model/TIMER/TIMER.h"			//< 定时器模块
#include "Time_Model/CYCTIMER/CYCTIMER.h"	//< 周期定时器模块
#include "Time_Model/TOTAL/TOTAL.h"			//< 积算器模块
#include "Time_Model/TIMEGET/TIMEGET.h"		//< 时间获取模块
#include "Time_Model/STACK/STACK.h"			//< 数据堆栈模块
#include "Time_Model/PUL/PUL.h"             //< 脉冲模块
#include "Time_Model/DELAYON/DELAYON.h"     //< 延时开模块
#include "Time_Model/DELAYOFF/DELAYOFF.h"   //< 延时关模块

/*线性算法模块头文件	Line_Model*/
#include "Line_Model/CONST/CONST.h"			//< 常系数模块
#include "Line_Model/DELAY/DELAY.h"			//< 纯迟延模块
#include "Line_Model/INTEG/INTEG.h"			//< 积分模块
#include "Line_Model/DIFFE/DIFFE.h"			//< 微分模块
#include "Line_Model/CTF1/CTF1.h"			//< 连续传递函数1模块
#include "Line_Model/CTF2/CTF2.h"			//< 连续传递函数2模块
#include "Line_Model/DTF/DTF.h"				//< 离散传递函数模块
#include "Line_Model/DISUM/DISUM.h"			//< 离散传递函数模块


/*非线性算法模块头文件	NonLine_Model*/
#include "NonLine_Model/RANGE/RANGE.h"		//< 限幅模块
#include "NonLine_Model/RANGEALM/RANGEALM.h"//< 幅值报警模块
#include "NonLine_Model/RATE/RATE.h"		//< 速率限制模块
#include "NonLine_Model/RATEALM/RATEALM.h"	//< 速率报警模块
#include "NonLine_Model/DEAD/DEAD.h"		//< 死区模块
#include "NonLine_Model/SWITCH/SWITCH.h"	//< 开关模块
#include "NonLine_Model/GEARBL/GEARBL.h"	//< 齿轮间隙模块
#include "NonLine_Model/HYLOOP/HYLOOP.h"	//< 滞环开关模块
#include "NonLine_Model/MAGAMP/MAGAMP.h"	//< 磁放模块
#include "NonLine_Model/MLINE/MLINE.h"		//< 分段线性模块


/*设备驱动模块头文件	DeviceDriver_Model*/



/*其他模块头文件		Other_Model*/



#endif